package com.cucn.ingmall.seckill.service;

import com.cucn.ingmall.seckill.to.SeckillSkuRedisTO;

import java.util.List;

/**
 * @author KouChaoJie
 * @since: 2022/2/13 17:23
 */
public interface SeckillService {
    /**
     * 上架最新三天秒杀商品
     */
    void uploadSeckillLastThreeDays();

    /**
     * 返回当前时间可以参与的秒杀商品信息
     *
     * @return
     */
    List<SeckillSkuRedisTO> getCurrentSeckillSkus();

    /**
     * 根据skuId查询秒杀商品
     *
     * @param skuId
     */
    SeckillSkuRedisTO getSkuSeckillInfo(Long skuId);

    /**
     * 秒杀
     *
     * @param killId 秒杀的场次及商品(redis Key)
     * @param key    秒杀商品的随机码
     * @param num    秒杀商品的数量
     * @return 返回订单号
     */
    String kill(String killId, String key, Integer num) throws InterruptedException;
}
